package com.xyz.entity.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class RepairMaintenanceExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public RepairMaintenanceExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andRepIdIsNull() {
            addCriterion("rep_id is null");
            return (Criteria) this;
        }

        public Criteria andRepIdIsNotNull() {
            addCriterion("rep_id is not null");
            return (Criteria) this;
        }

        public Criteria andRepIdEqualTo(Long value) {
            addCriterion("rep_id =", value, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdNotEqualTo(Long value) {
            addCriterion("rep_id <>", value, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdGreaterThan(Long value) {
            addCriterion("rep_id >", value, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdGreaterThanOrEqualTo(Long value) {
            addCriterion("rep_id >=", value, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdLessThan(Long value) {
            addCriterion("rep_id <", value, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdLessThanOrEqualTo(Long value) {
            addCriterion("rep_id <=", value, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdIn(List<Long> values) {
            addCriterion("rep_id in", values, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdNotIn(List<Long> values) {
            addCriterion("rep_id not in", values, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdBetween(Long value1, Long value2) {
            addCriterion("rep_id between", value1, value2, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdNotBetween(Long value1, Long value2) {
            addCriterion("rep_id not between", value1, value2, "repId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdIsNull() {
            addCriterion("employee_id is null");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdIsNotNull() {
            addCriterion("employee_id is not null");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdEqualTo(Long value) {
            addCriterion("employee_id =", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdNotEqualTo(Long value) {
            addCriterion("employee_id <>", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdGreaterThan(Long value) {
            addCriterion("employee_id >", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdGreaterThanOrEqualTo(Long value) {
            addCriterion("employee_id >=", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdLessThan(Long value) {
            addCriterion("employee_id <", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdLessThanOrEqualTo(Long value) {
            addCriterion("employee_id <=", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdIn(List<Long> values) {
            addCriterion("employee_id in", values, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdNotIn(List<Long> values) {
            addCriterion("employee_id not in", values, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdBetween(Long value1, Long value2) {
            addCriterion("employee_id between", value1, value2, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdNotBetween(Long value1, Long value2) {
            addCriterion("employee_id not between", value1, value2, "employeeId");
            return (Criteria) this;
        }

        public Criteria andPartApplyIdIsNull() {
            addCriterion("part_apply_id is null");
            return (Criteria) this;
        }

        public Criteria andPartApplyIdIsNotNull() {
            addCriterion("part_apply_id is not null");
            return (Criteria) this;
        }

        public Criteria andPartApplyIdEqualTo(Long value) {
            addCriterion("part_apply_id =", value, "partApplyId");
            return (Criteria) this;
        }

        public Criteria andPartApplyIdNotEqualTo(Long value) {
            addCriterion("part_apply_id <>", value, "partApplyId");
            return (Criteria) this;
        }

        public Criteria andPartApplyIdGreaterThan(Long value) {
            addCriterion("part_apply_id >", value, "partApplyId");
            return (Criteria) this;
        }

        public Criteria andPartApplyIdGreaterThanOrEqualTo(Long value) {
            addCriterion("part_apply_id >=", value, "partApplyId");
            return (Criteria) this;
        }

        public Criteria andPartApplyIdLessThan(Long value) {
            addCriterion("part_apply_id <", value, "partApplyId");
            return (Criteria) this;
        }

        public Criteria andPartApplyIdLessThanOrEqualTo(Long value) {
            addCriterion("part_apply_id <=", value, "partApplyId");
            return (Criteria) this;
        }

        public Criteria andPartApplyIdIn(List<Long> values) {
            addCriterion("part_apply_id in", values, "partApplyId");
            return (Criteria) this;
        }

        public Criteria andPartApplyIdNotIn(List<Long> values) {
            addCriterion("part_apply_id not in", values, "partApplyId");
            return (Criteria) this;
        }

        public Criteria andPartApplyIdBetween(Long value1, Long value2) {
            addCriterion("part_apply_id between", value1, value2, "partApplyId");
            return (Criteria) this;
        }

        public Criteria andPartApplyIdNotBetween(Long value1, Long value2) {
            addCriterion("part_apply_id not between", value1, value2, "partApplyId");
            return (Criteria) this;
        }

        public Criteria andProcessTypeIsNull() {
            addCriterion("process_type is null");
            return (Criteria) this;
        }

        public Criteria andProcessTypeIsNotNull() {
            addCriterion("process_type is not null");
            return (Criteria) this;
        }

        public Criteria andProcessTypeEqualTo(Integer value) {
            addCriterion("process_type =", value, "processType");
            return (Criteria) this;
        }

        public Criteria andProcessTypeNotEqualTo(Integer value) {
            addCriterion("process_type <>", value, "processType");
            return (Criteria) this;
        }

        public Criteria andProcessTypeGreaterThan(Integer value) {
            addCriterion("process_type >", value, "processType");
            return (Criteria) this;
        }

        public Criteria andProcessTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("process_type >=", value, "processType");
            return (Criteria) this;
        }

        public Criteria andProcessTypeLessThan(Integer value) {
            addCriterion("process_type <", value, "processType");
            return (Criteria) this;
        }

        public Criteria andProcessTypeLessThanOrEqualTo(Integer value) {
            addCriterion("process_type <=", value, "processType");
            return (Criteria) this;
        }

        public Criteria andProcessTypeIn(List<Integer> values) {
            addCriterion("process_type in", values, "processType");
            return (Criteria) this;
        }

        public Criteria andProcessTypeNotIn(List<Integer> values) {
            addCriterion("process_type not in", values, "processType");
            return (Criteria) this;
        }

        public Criteria andProcessTypeBetween(Integer value1, Integer value2) {
            addCriterion("process_type between", value1, value2, "processType");
            return (Criteria) this;
        }

        public Criteria andProcessTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("process_type not between", value1, value2, "processType");
            return (Criteria) this;
        }

        public Criteria andDisTypeIsNull() {
            addCriterion("dis_type is null");
            return (Criteria) this;
        }

        public Criteria andDisTypeIsNotNull() {
            addCriterion("dis_type is not null");
            return (Criteria) this;
        }

        public Criteria andDisTypeEqualTo(Integer value) {
            addCriterion("dis_type =", value, "disType");
            return (Criteria) this;
        }

        public Criteria andDisTypeNotEqualTo(Integer value) {
            addCriterion("dis_type <>", value, "disType");
            return (Criteria) this;
        }

        public Criteria andDisTypeGreaterThan(Integer value) {
            addCriterion("dis_type >", value, "disType");
            return (Criteria) this;
        }

        public Criteria andDisTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("dis_type >=", value, "disType");
            return (Criteria) this;
        }

        public Criteria andDisTypeLessThan(Integer value) {
            addCriterion("dis_type <", value, "disType");
            return (Criteria) this;
        }

        public Criteria andDisTypeLessThanOrEqualTo(Integer value) {
            addCriterion("dis_type <=", value, "disType");
            return (Criteria) this;
        }

        public Criteria andDisTypeIn(List<Integer> values) {
            addCriterion("dis_type in", values, "disType");
            return (Criteria) this;
        }

        public Criteria andDisTypeNotIn(List<Integer> values) {
            addCriterion("dis_type not in", values, "disType");
            return (Criteria) this;
        }

        public Criteria andDisTypeBetween(Integer value1, Integer value2) {
            addCriterion("dis_type between", value1, value2, "disType");
            return (Criteria) this;
        }

        public Criteria andDisTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("dis_type not between", value1, value2, "disType");
            return (Criteria) this;
        }

        public Criteria andDisEmployeeIdIsNull() {
            addCriterion("dis_employee_id is null");
            return (Criteria) this;
        }

        public Criteria andDisEmployeeIdIsNotNull() {
            addCriterion("dis_employee_id is not null");
            return (Criteria) this;
        }

        public Criteria andDisEmployeeIdEqualTo(Long value) {
            addCriterion("dis_employee_id =", value, "disEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisEmployeeIdNotEqualTo(Long value) {
            addCriterion("dis_employee_id <>", value, "disEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisEmployeeIdGreaterThan(Long value) {
            addCriterion("dis_employee_id >", value, "disEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisEmployeeIdGreaterThanOrEqualTo(Long value) {
            addCriterion("dis_employee_id >=", value, "disEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisEmployeeIdLessThan(Long value) {
            addCriterion("dis_employee_id <", value, "disEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisEmployeeIdLessThanOrEqualTo(Long value) {
            addCriterion("dis_employee_id <=", value, "disEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisEmployeeIdIn(List<Long> values) {
            addCriterion("dis_employee_id in", values, "disEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisEmployeeIdNotIn(List<Long> values) {
            addCriterion("dis_employee_id not in", values, "disEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisEmployeeIdBetween(Long value1, Long value2) {
            addCriterion("dis_employee_id between", value1, value2, "disEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisEmployeeIdNotBetween(Long value1, Long value2) {
            addCriterion("dis_employee_id not between", value1, value2, "disEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisTimeIsNull() {
            addCriterion("dis_time is null");
            return (Criteria) this;
        }

        public Criteria andDisTimeIsNotNull() {
            addCriterion("dis_time is not null");
            return (Criteria) this;
        }

        public Criteria andDisTimeEqualTo(Date value) {
            addCriterion("dis_time =", value, "disTime");
            return (Criteria) this;
        }

        public Criteria andDisTimeNotEqualTo(Date value) {
            addCriterion("dis_time <>", value, "disTime");
            return (Criteria) this;
        }

        public Criteria andDisTimeGreaterThan(Date value) {
            addCriterion("dis_time >", value, "disTime");
            return (Criteria) this;
        }

        public Criteria andDisTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("dis_time >=", value, "disTime");
            return (Criteria) this;
        }

        public Criteria andDisTimeLessThan(Date value) {
            addCriterion("dis_time <", value, "disTime");
            return (Criteria) this;
        }

        public Criteria andDisTimeLessThanOrEqualTo(Date value) {
            addCriterion("dis_time <=", value, "disTime");
            return (Criteria) this;
        }

        public Criteria andDisTimeIn(List<Date> values) {
            addCriterion("dis_time in", values, "disTime");
            return (Criteria) this;
        }

        public Criteria andDisTimeNotIn(List<Date> values) {
            addCriterion("dis_time not in", values, "disTime");
            return (Criteria) this;
        }

        public Criteria andDisTimeBetween(Date value1, Date value2) {
            addCriterion("dis_time between", value1, value2, "disTime");
            return (Criteria) this;
        }

        public Criteria andDisTimeNotBetween(Date value1, Date value2) {
            addCriterion("dis_time not between", value1, value2, "disTime");
            return (Criteria) this;
        }

        public Criteria andMtcStartTimeIsNull() {
            addCriterion("mtc_start_time is null");
            return (Criteria) this;
        }

        public Criteria andMtcStartTimeIsNotNull() {
            addCriterion("mtc_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andMtcStartTimeEqualTo(Date value) {
            addCriterion("mtc_start_time =", value, "mtcStartTime");
            return (Criteria) this;
        }

        public Criteria andMtcStartTimeNotEqualTo(Date value) {
            addCriterion("mtc_start_time <>", value, "mtcStartTime");
            return (Criteria) this;
        }

        public Criteria andMtcStartTimeGreaterThan(Date value) {
            addCriterion("mtc_start_time >", value, "mtcStartTime");
            return (Criteria) this;
        }

        public Criteria andMtcStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("mtc_start_time >=", value, "mtcStartTime");
            return (Criteria) this;
        }

        public Criteria andMtcStartTimeLessThan(Date value) {
            addCriterion("mtc_start_time <", value, "mtcStartTime");
            return (Criteria) this;
        }

        public Criteria andMtcStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("mtc_start_time <=", value, "mtcStartTime");
            return (Criteria) this;
        }

        public Criteria andMtcStartTimeIn(List<Date> values) {
            addCriterion("mtc_start_time in", values, "mtcStartTime");
            return (Criteria) this;
        }

        public Criteria andMtcStartTimeNotIn(List<Date> values) {
            addCriterion("mtc_start_time not in", values, "mtcStartTime");
            return (Criteria) this;
        }

        public Criteria andMtcStartTimeBetween(Date value1, Date value2) {
            addCriterion("mtc_start_time between", value1, value2, "mtcStartTime");
            return (Criteria) this;
        }

        public Criteria andMtcStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("mtc_start_time not between", value1, value2, "mtcStartTime");
            return (Criteria) this;
        }

        public Criteria andMtcEndTimeIsNull() {
            addCriterion("mtc_end_time is null");
            return (Criteria) this;
        }

        public Criteria andMtcEndTimeIsNotNull() {
            addCriterion("mtc_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andMtcEndTimeEqualTo(Date value) {
            addCriterion("mtc_end_time =", value, "mtcEndTime");
            return (Criteria) this;
        }

        public Criteria andMtcEndTimeNotEqualTo(Date value) {
            addCriterion("mtc_end_time <>", value, "mtcEndTime");
            return (Criteria) this;
        }

        public Criteria andMtcEndTimeGreaterThan(Date value) {
            addCriterion("mtc_end_time >", value, "mtcEndTime");
            return (Criteria) this;
        }

        public Criteria andMtcEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("mtc_end_time >=", value, "mtcEndTime");
            return (Criteria) this;
        }

        public Criteria andMtcEndTimeLessThan(Date value) {
            addCriterion("mtc_end_time <", value, "mtcEndTime");
            return (Criteria) this;
        }

        public Criteria andMtcEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("mtc_end_time <=", value, "mtcEndTime");
            return (Criteria) this;
        }

        public Criteria andMtcEndTimeIn(List<Date> values) {
            addCriterion("mtc_end_time in", values, "mtcEndTime");
            return (Criteria) this;
        }

        public Criteria andMtcEndTimeNotIn(List<Date> values) {
            addCriterion("mtc_end_time not in", values, "mtcEndTime");
            return (Criteria) this;
        }

        public Criteria andMtcEndTimeBetween(Date value1, Date value2) {
            addCriterion("mtc_end_time between", value1, value2, "mtcEndTime");
            return (Criteria) this;
        }

        public Criteria andMtcEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("mtc_end_time not between", value1, value2, "mtcEndTime");
            return (Criteria) this;
        }

        public Criteria andMtcStateIsNull() {
            addCriterion("mtc_state is null");
            return (Criteria) this;
        }

        public Criteria andMtcStateIsNotNull() {
            addCriterion("mtc_state is not null");
            return (Criteria) this;
        }

        public Criteria andMtcStateEqualTo(Integer value) {
            addCriterion("mtc_state =", value, "mtcState");
            return (Criteria) this;
        }

        public Criteria andMtcStateNotEqualTo(Integer value) {
            addCriterion("mtc_state <>", value, "mtcState");
            return (Criteria) this;
        }

        public Criteria andMtcStateGreaterThan(Integer value) {
            addCriterion("mtc_state >", value, "mtcState");
            return (Criteria) this;
        }

        public Criteria andMtcStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("mtc_state >=", value, "mtcState");
            return (Criteria) this;
        }

        public Criteria andMtcStateLessThan(Integer value) {
            addCriterion("mtc_state <", value, "mtcState");
            return (Criteria) this;
        }

        public Criteria andMtcStateLessThanOrEqualTo(Integer value) {
            addCriterion("mtc_state <=", value, "mtcState");
            return (Criteria) this;
        }

        public Criteria andMtcStateIn(List<Integer> values) {
            addCriterion("mtc_state in", values, "mtcState");
            return (Criteria) this;
        }

        public Criteria andMtcStateNotIn(List<Integer> values) {
            addCriterion("mtc_state not in", values, "mtcState");
            return (Criteria) this;
        }

        public Criteria andMtcStateBetween(Integer value1, Integer value2) {
            addCriterion("mtc_state between", value1, value2, "mtcState");
            return (Criteria) this;
        }

        public Criteria andMtcStateNotBetween(Integer value1, Integer value2) {
            addCriterion("mtc_state not between", value1, value2, "mtcState");
            return (Criteria) this;
        }

        public Criteria andMtcEmStateIsNull() {
            addCriterion("mtc_em_state is null");
            return (Criteria) this;
        }

        public Criteria andMtcEmStateIsNotNull() {
            addCriterion("mtc_em_state is not null");
            return (Criteria) this;
        }

        public Criteria andMtcEmStateEqualTo(Integer value) {
            addCriterion("mtc_em_state =", value, "mtcEmState");
            return (Criteria) this;
        }

        public Criteria andMtcEmStateNotEqualTo(Integer value) {
            addCriterion("mtc_em_state <>", value, "mtcEmState");
            return (Criteria) this;
        }

        public Criteria andMtcEmStateGreaterThan(Integer value) {
            addCriterion("mtc_em_state >", value, "mtcEmState");
            return (Criteria) this;
        }

        public Criteria andMtcEmStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("mtc_em_state >=", value, "mtcEmState");
            return (Criteria) this;
        }

        public Criteria andMtcEmStateLessThan(Integer value) {
            addCriterion("mtc_em_state <", value, "mtcEmState");
            return (Criteria) this;
        }

        public Criteria andMtcEmStateLessThanOrEqualTo(Integer value) {
            addCriterion("mtc_em_state <=", value, "mtcEmState");
            return (Criteria) this;
        }

        public Criteria andMtcEmStateIn(List<Integer> values) {
            addCriterion("mtc_em_state in", values, "mtcEmState");
            return (Criteria) this;
        }

        public Criteria andMtcEmStateNotIn(List<Integer> values) {
            addCriterion("mtc_em_state not in", values, "mtcEmState");
            return (Criteria) this;
        }

        public Criteria andMtcEmStateBetween(Integer value1, Integer value2) {
            addCriterion("mtc_em_state between", value1, value2, "mtcEmState");
            return (Criteria) this;
        }

        public Criteria andMtcEmStateNotBetween(Integer value1, Integer value2) {
            addCriterion("mtc_em_state not between", value1, value2, "mtcEmState");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescIsNull() {
            addCriterion("mtc_state_desc is null");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescIsNotNull() {
            addCriterion("mtc_state_desc is not null");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescEqualTo(String value) {
            addCriterion("mtc_state_desc =", value, "mtcStateDesc");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescNotEqualTo(String value) {
            addCriterion("mtc_state_desc <>", value, "mtcStateDesc");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescGreaterThan(String value) {
            addCriterion("mtc_state_desc >", value, "mtcStateDesc");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescGreaterThanOrEqualTo(String value) {
            addCriterion("mtc_state_desc >=", value, "mtcStateDesc");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescLessThan(String value) {
            addCriterion("mtc_state_desc <", value, "mtcStateDesc");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescLessThanOrEqualTo(String value) {
            addCriterion("mtc_state_desc <=", value, "mtcStateDesc");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescLike(String value) {
            addCriterion("mtc_state_desc like", value, "mtcStateDesc");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescNotLike(String value) {
            addCriterion("mtc_state_desc not like", value, "mtcStateDesc");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescIn(List<String> values) {
            addCriterion("mtc_state_desc in", values, "mtcStateDesc");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescNotIn(List<String> values) {
            addCriterion("mtc_state_desc not in", values, "mtcStateDesc");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescBetween(String value1, String value2) {
            addCriterion("mtc_state_desc between", value1, value2, "mtcStateDesc");
            return (Criteria) this;
        }

        public Criteria andMtcStateDescNotBetween(String value1, String value2) {
            addCriterion("mtc_state_desc not between", value1, value2, "mtcStateDesc");
            return (Criteria) this;
        }

        public Criteria andMtcSecondIsNull() {
            addCriterion("mtc_second is null");
            return (Criteria) this;
        }

        public Criteria andMtcSecondIsNotNull() {
            addCriterion("mtc_second is not null");
            return (Criteria) this;
        }

        public Criteria andMtcSecondEqualTo(Long value) {
            addCriterion("mtc_second =", value, "mtcSecond");
            return (Criteria) this;
        }

        public Criteria andMtcSecondNotEqualTo(Long value) {
            addCriterion("mtc_second <>", value, "mtcSecond");
            return (Criteria) this;
        }

        public Criteria andMtcSecondGreaterThan(Long value) {
            addCriterion("mtc_second >", value, "mtcSecond");
            return (Criteria) this;
        }

        public Criteria andMtcSecondGreaterThanOrEqualTo(Long value) {
            addCriterion("mtc_second >=", value, "mtcSecond");
            return (Criteria) this;
        }

        public Criteria andMtcSecondLessThan(Long value) {
            addCriterion("mtc_second <", value, "mtcSecond");
            return (Criteria) this;
        }

        public Criteria andMtcSecondLessThanOrEqualTo(Long value) {
            addCriterion("mtc_second <=", value, "mtcSecond");
            return (Criteria) this;
        }

        public Criteria andMtcSecondIn(List<Long> values) {
            addCriterion("mtc_second in", values, "mtcSecond");
            return (Criteria) this;
        }

        public Criteria andMtcSecondNotIn(List<Long> values) {
            addCriterion("mtc_second not in", values, "mtcSecond");
            return (Criteria) this;
        }

        public Criteria andMtcSecondBetween(Long value1, Long value2) {
            addCriterion("mtc_second between", value1, value2, "mtcSecond");
            return (Criteria) this;
        }

        public Criteria andMtcSecondNotBetween(Long value1, Long value2) {
            addCriterion("mtc_second not between", value1, value2, "mtcSecond");
            return (Criteria) this;
        }

        public Criteria andSuspendSecondIsNull() {
            addCriterion("suspend_second is null");
            return (Criteria) this;
        }

        public Criteria andSuspendSecondIsNotNull() {
            addCriterion("suspend_second is not null");
            return (Criteria) this;
        }

        public Criteria andSuspendSecondEqualTo(Long value) {
            addCriterion("suspend_second =", value, "suspendSecond");
            return (Criteria) this;
        }

        public Criteria andSuspendSecondNotEqualTo(Long value) {
            addCriterion("suspend_second <>", value, "suspendSecond");
            return (Criteria) this;
        }

        public Criteria andSuspendSecondGreaterThan(Long value) {
            addCriterion("suspend_second >", value, "suspendSecond");
            return (Criteria) this;
        }

        public Criteria andSuspendSecondGreaterThanOrEqualTo(Long value) {
            addCriterion("suspend_second >=", value, "suspendSecond");
            return (Criteria) this;
        }

        public Criteria andSuspendSecondLessThan(Long value) {
            addCriterion("suspend_second <", value, "suspendSecond");
            return (Criteria) this;
        }

        public Criteria andSuspendSecondLessThanOrEqualTo(Long value) {
            addCriterion("suspend_second <=", value, "suspendSecond");
            return (Criteria) this;
        }

        public Criteria andSuspendSecondIn(List<Long> values) {
            addCriterion("suspend_second in", values, "suspendSecond");
            return (Criteria) this;
        }

        public Criteria andSuspendSecondNotIn(List<Long> values) {
            addCriterion("suspend_second not in", values, "suspendSecond");
            return (Criteria) this;
        }

        public Criteria andSuspendSecondBetween(Long value1, Long value2) {
            addCriterion("suspend_second between", value1, value2, "suspendSecond");
            return (Criteria) this;
        }

        public Criteria andSuspendSecondNotBetween(Long value1, Long value2) {
            addCriterion("suspend_second not between", value1, value2, "suspendSecond");
            return (Criteria) this;
        }

        public Criteria andMtcFaultTypeIsNull() {
            addCriterion("mtc_fault_type is null");
            return (Criteria) this;
        }

        public Criteria andMtcFaultTypeIsNotNull() {
            addCriterion("mtc_fault_type is not null");
            return (Criteria) this;
        }

        public Criteria andMtcFaultTypeEqualTo(Integer value) {
            addCriterion("mtc_fault_type =", value, "mtcFaultType");
            return (Criteria) this;
        }

        public Criteria andMtcFaultTypeNotEqualTo(Integer value) {
            addCriterion("mtc_fault_type <>", value, "mtcFaultType");
            return (Criteria) this;
        }

        public Criteria andMtcFaultTypeGreaterThan(Integer value) {
            addCriterion("mtc_fault_type >", value, "mtcFaultType");
            return (Criteria) this;
        }

        public Criteria andMtcFaultTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("mtc_fault_type >=", value, "mtcFaultType");
            return (Criteria) this;
        }

        public Criteria andMtcFaultTypeLessThan(Integer value) {
            addCriterion("mtc_fault_type <", value, "mtcFaultType");
            return (Criteria) this;
        }

        public Criteria andMtcFaultTypeLessThanOrEqualTo(Integer value) {
            addCriterion("mtc_fault_type <=", value, "mtcFaultType");
            return (Criteria) this;
        }

        public Criteria andMtcFaultTypeIn(List<Integer> values) {
            addCriterion("mtc_fault_type in", values, "mtcFaultType");
            return (Criteria) this;
        }

        public Criteria andMtcFaultTypeNotIn(List<Integer> values) {
            addCriterion("mtc_fault_type not in", values, "mtcFaultType");
            return (Criteria) this;
        }

        public Criteria andMtcFaultTypeBetween(Integer value1, Integer value2) {
            addCriterion("mtc_fault_type between", value1, value2, "mtcFaultType");
            return (Criteria) this;
        }

        public Criteria andMtcFaultTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("mtc_fault_type not between", value1, value2, "mtcFaultType");
            return (Criteria) this;
        }

        public Criteria andMtcFaultReasonIsNull() {
            addCriterion("mtc_fault_reason is null");
            return (Criteria) this;
        }

        public Criteria andMtcFaultReasonIsNotNull() {
            addCriterion("mtc_fault_reason is not null");
            return (Criteria) this;
        }

        public Criteria andMtcFaultReasonEqualTo(Integer value) {
            addCriterion("mtc_fault_reason =", value, "mtcFaultReason");
            return (Criteria) this;
        }

        public Criteria andMtcFaultReasonNotEqualTo(Integer value) {
            addCriterion("mtc_fault_reason <>", value, "mtcFaultReason");
            return (Criteria) this;
        }

        public Criteria andMtcFaultReasonGreaterThan(Integer value) {
            addCriterion("mtc_fault_reason >", value, "mtcFaultReason");
            return (Criteria) this;
        }

        public Criteria andMtcFaultReasonGreaterThanOrEqualTo(Integer value) {
            addCriterion("mtc_fault_reason >=", value, "mtcFaultReason");
            return (Criteria) this;
        }

        public Criteria andMtcFaultReasonLessThan(Integer value) {
            addCriterion("mtc_fault_reason <", value, "mtcFaultReason");
            return (Criteria) this;
        }

        public Criteria andMtcFaultReasonLessThanOrEqualTo(Integer value) {
            addCriterion("mtc_fault_reason <=", value, "mtcFaultReason");
            return (Criteria) this;
        }

        public Criteria andMtcFaultReasonIn(List<Integer> values) {
            addCriterion("mtc_fault_reason in", values, "mtcFaultReason");
            return (Criteria) this;
        }

        public Criteria andMtcFaultReasonNotIn(List<Integer> values) {
            addCriterion("mtc_fault_reason not in", values, "mtcFaultReason");
            return (Criteria) this;
        }

        public Criteria andMtcFaultReasonBetween(Integer value1, Integer value2) {
            addCriterion("mtc_fault_reason between", value1, value2, "mtcFaultReason");
            return (Criteria) this;
        }

        public Criteria andMtcFaultReasonNotBetween(Integer value1, Integer value2) {
            addCriterion("mtc_fault_reason not between", value1, value2, "mtcFaultReason");
            return (Criteria) this;
        }

        public Criteria andMtcDescIsNull() {
            addCriterion("mtc_desc is null");
            return (Criteria) this;
        }

        public Criteria andMtcDescIsNotNull() {
            addCriterion("mtc_desc is not null");
            return (Criteria) this;
        }

        public Criteria andMtcDescEqualTo(String value) {
            addCriterion("mtc_desc =", value, "mtcDesc");
            return (Criteria) this;
        }

        public Criteria andMtcDescNotEqualTo(String value) {
            addCriterion("mtc_desc <>", value, "mtcDesc");
            return (Criteria) this;
        }

        public Criteria andMtcDescGreaterThan(String value) {
            addCriterion("mtc_desc >", value, "mtcDesc");
            return (Criteria) this;
        }

        public Criteria andMtcDescGreaterThanOrEqualTo(String value) {
            addCriterion("mtc_desc >=", value, "mtcDesc");
            return (Criteria) this;
        }

        public Criteria andMtcDescLessThan(String value) {
            addCriterion("mtc_desc <", value, "mtcDesc");
            return (Criteria) this;
        }

        public Criteria andMtcDescLessThanOrEqualTo(String value) {
            addCriterion("mtc_desc <=", value, "mtcDesc");
            return (Criteria) this;
        }

        public Criteria andMtcDescLike(String value) {
            addCriterion("mtc_desc like", value, "mtcDesc");
            return (Criteria) this;
        }

        public Criteria andMtcDescNotLike(String value) {
            addCriterion("mtc_desc not like", value, "mtcDesc");
            return (Criteria) this;
        }

        public Criteria andMtcDescIn(List<String> values) {
            addCriterion("mtc_desc in", values, "mtcDesc");
            return (Criteria) this;
        }

        public Criteria andMtcDescNotIn(List<String> values) {
            addCriterion("mtc_desc not in", values, "mtcDesc");
            return (Criteria) this;
        }

        public Criteria andMtcDescBetween(String value1, String value2) {
            addCriterion("mtc_desc between", value1, value2, "mtcDesc");
            return (Criteria) this;
        }

        public Criteria andMtcDescNotBetween(String value1, String value2) {
            addCriterion("mtc_desc not between", value1, value2, "mtcDesc");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdIsNull() {
            addCriterion("ass_mtc_id is null");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdIsNotNull() {
            addCriterion("ass_mtc_id is not null");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdEqualTo(String value) {
            addCriterion("ass_mtc_id =", value, "assMtcId");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdNotEqualTo(String value) {
            addCriterion("ass_mtc_id <>", value, "assMtcId");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdGreaterThan(String value) {
            addCriterion("ass_mtc_id >", value, "assMtcId");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdGreaterThanOrEqualTo(String value) {
            addCriterion("ass_mtc_id >=", value, "assMtcId");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdLessThan(String value) {
            addCriterion("ass_mtc_id <", value, "assMtcId");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdLessThanOrEqualTo(String value) {
            addCriterion("ass_mtc_id <=", value, "assMtcId");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdLike(String value) {
            addCriterion("ass_mtc_id like", value, "assMtcId");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdNotLike(String value) {
            addCriterion("ass_mtc_id not like", value, "assMtcId");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdIn(List<String> values) {
            addCriterion("ass_mtc_id in", values, "assMtcId");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdNotIn(List<String> values) {
            addCriterion("ass_mtc_id not in", values, "assMtcId");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdBetween(String value1, String value2) {
            addCriterion("ass_mtc_id between", value1, value2, "assMtcId");
            return (Criteria) this;
        }

        public Criteria andAssMtcIdNotBetween(String value1, String value2) {
            addCriterion("ass_mtc_id not between", value1, value2, "assMtcId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdIsNull() {
            addCriterion("accept_employee_id is null");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdIsNotNull() {
            addCriterion("accept_employee_id is not null");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdEqualTo(Long value) {
            addCriterion("accept_employee_id =", value, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdNotEqualTo(Long value) {
            addCriterion("accept_employee_id <>", value, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdGreaterThan(Long value) {
            addCriterion("accept_employee_id >", value, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdGreaterThanOrEqualTo(Long value) {
            addCriterion("accept_employee_id >=", value, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdLessThan(Long value) {
            addCriterion("accept_employee_id <", value, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdLessThanOrEqualTo(Long value) {
            addCriterion("accept_employee_id <=", value, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdIn(List<Long> values) {
            addCriterion("accept_employee_id in", values, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdNotIn(List<Long> values) {
            addCriterion("accept_employee_id not in", values, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdBetween(Long value1, Long value2) {
            addCriterion("accept_employee_id between", value1, value2, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdNotBetween(Long value1, Long value2) {
            addCriterion("accept_employee_id not between", value1, value2, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisAcceptEmployeeIdIsNull() {
            addCriterion("dis_accept_employee_id is null");
            return (Criteria) this;
        }

        public Criteria andDisAcceptEmployeeIdIsNotNull() {
            addCriterion("dis_accept_employee_id is not null");
            return (Criteria) this;
        }

        public Criteria andDisAcceptEmployeeIdEqualTo(Long value) {
            addCriterion("dis_accept_employee_id =", value, "disAcceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisAcceptEmployeeIdNotEqualTo(Long value) {
            addCriterion("dis_accept_employee_id <>", value, "disAcceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisAcceptEmployeeIdGreaterThan(Long value) {
            addCriterion("dis_accept_employee_id >", value, "disAcceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisAcceptEmployeeIdGreaterThanOrEqualTo(Long value) {
            addCriterion("dis_accept_employee_id >=", value, "disAcceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisAcceptEmployeeIdLessThan(Long value) {
            addCriterion("dis_accept_employee_id <", value, "disAcceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisAcceptEmployeeIdLessThanOrEqualTo(Long value) {
            addCriterion("dis_accept_employee_id <=", value, "disAcceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisAcceptEmployeeIdIn(List<Long> values) {
            addCriterion("dis_accept_employee_id in", values, "disAcceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisAcceptEmployeeIdNotIn(List<Long> values) {
            addCriterion("dis_accept_employee_id not in", values, "disAcceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisAcceptEmployeeIdBetween(Long value1, Long value2) {
            addCriterion("dis_accept_employee_id between", value1, value2, "disAcceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andDisAcceptEmployeeIdNotBetween(Long value1, Long value2) {
            addCriterion("dis_accept_employee_id not between", value1, value2, "disAcceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andIsReuseIsNull() {
            addCriterion("is_reuse is null");
            return (Criteria) this;
        }

        public Criteria andIsReuseIsNotNull() {
            addCriterion("is_reuse is not null");
            return (Criteria) this;
        }

        public Criteria andIsReuseEqualTo(Integer value) {
            addCriterion("is_reuse =", value, "isReuse");
            return (Criteria) this;
        }

        public Criteria andIsReuseNotEqualTo(Integer value) {
            addCriterion("is_reuse <>", value, "isReuse");
            return (Criteria) this;
        }

        public Criteria andIsReuseGreaterThan(Integer value) {
            addCriterion("is_reuse >", value, "isReuse");
            return (Criteria) this;
        }

        public Criteria andIsReuseGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_reuse >=", value, "isReuse");
            return (Criteria) this;
        }

        public Criteria andIsReuseLessThan(Integer value) {
            addCriterion("is_reuse <", value, "isReuse");
            return (Criteria) this;
        }

        public Criteria andIsReuseLessThanOrEqualTo(Integer value) {
            addCriterion("is_reuse <=", value, "isReuse");
            return (Criteria) this;
        }

        public Criteria andIsReuseIn(List<Integer> values) {
            addCriterion("is_reuse in", values, "isReuse");
            return (Criteria) this;
        }

        public Criteria andIsReuseNotIn(List<Integer> values) {
            addCriterion("is_reuse not in", values, "isReuse");
            return (Criteria) this;
        }

        public Criteria andIsReuseBetween(Integer value1, Integer value2) {
            addCriterion("is_reuse between", value1, value2, "isReuse");
            return (Criteria) this;
        }

        public Criteria andIsReuseNotBetween(Integer value1, Integer value2) {
            addCriterion("is_reuse not between", value1, value2, "isReuse");
            return (Criteria) this;
        }

        public Criteria andPlanStartTimeIsNull() {
            addCriterion("plan_start_time is null");
            return (Criteria) this;
        }

        public Criteria andPlanStartTimeIsNotNull() {
            addCriterion("plan_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andPlanStartTimeEqualTo(Date value) {
            addCriterion("plan_start_time =", value, "planStartTime");
            return (Criteria) this;
        }

        public Criteria andPlanStartTimeNotEqualTo(Date value) {
            addCriterion("plan_start_time <>", value, "planStartTime");
            return (Criteria) this;
        }

        public Criteria andPlanStartTimeGreaterThan(Date value) {
            addCriterion("plan_start_time >", value, "planStartTime");
            return (Criteria) this;
        }

        public Criteria andPlanStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("plan_start_time >=", value, "planStartTime");
            return (Criteria) this;
        }

        public Criteria andPlanStartTimeLessThan(Date value) {
            addCriterion("plan_start_time <", value, "planStartTime");
            return (Criteria) this;
        }

        public Criteria andPlanStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("plan_start_time <=", value, "planStartTime");
            return (Criteria) this;
        }

        public Criteria andPlanStartTimeIn(List<Date> values) {
            addCriterion("plan_start_time in", values, "planStartTime");
            return (Criteria) this;
        }

        public Criteria andPlanStartTimeNotIn(List<Date> values) {
            addCriterion("plan_start_time not in", values, "planStartTime");
            return (Criteria) this;
        }

        public Criteria andPlanStartTimeBetween(Date value1, Date value2) {
            addCriterion("plan_start_time between", value1, value2, "planStartTime");
            return (Criteria) this;
        }

        public Criteria andPlanStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("plan_start_time not between", value1, value2, "planStartTime");
            return (Criteria) this;
        }

        public Criteria andPlanSecondIsNull() {
            addCriterion("plan_second is null");
            return (Criteria) this;
        }

        public Criteria andPlanSecondIsNotNull() {
            addCriterion("plan_second is not null");
            return (Criteria) this;
        }

        public Criteria andPlanSecondEqualTo(Long value) {
            addCriterion("plan_second =", value, "planSecond");
            return (Criteria) this;
        }

        public Criteria andPlanSecondNotEqualTo(Long value) {
            addCriterion("plan_second <>", value, "planSecond");
            return (Criteria) this;
        }

        public Criteria andPlanSecondGreaterThan(Long value) {
            addCriterion("plan_second >", value, "planSecond");
            return (Criteria) this;
        }

        public Criteria andPlanSecondGreaterThanOrEqualTo(Long value) {
            addCriterion("plan_second >=", value, "planSecond");
            return (Criteria) this;
        }

        public Criteria andPlanSecondLessThan(Long value) {
            addCriterion("plan_second <", value, "planSecond");
            return (Criteria) this;
        }

        public Criteria andPlanSecondLessThanOrEqualTo(Long value) {
            addCriterion("plan_second <=", value, "planSecond");
            return (Criteria) this;
        }

        public Criteria andPlanSecondIn(List<Long> values) {
            addCriterion("plan_second in", values, "planSecond");
            return (Criteria) this;
        }

        public Criteria andPlanSecondNotIn(List<Long> values) {
            addCriterion("plan_second not in", values, "planSecond");
            return (Criteria) this;
        }

        public Criteria andPlanSecondBetween(Long value1, Long value2) {
            addCriterion("plan_second between", value1, value2, "planSecond");
            return (Criteria) this;
        }

        public Criteria andPlanSecondNotBetween(Long value1, Long value2) {
            addCriterion("plan_second not between", value1, value2, "planSecond");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}